"""Collection of MGRS Tile by tile_name for places known to be of interest or with good existing labels
"""
from collections import namedtuple

KnownMGRSTile = namedtuple(
    "KnownMGRSTile", ["tile_name", "specialty", "general_location", "description"]
)

#: Collection of MGRS tiles across the world with specialty so suitable for testing and validation
KNOWN_MGRS_TILES = [
    # mega cities
    KnownMGRSTile("T50TMK", "mega-city", "CN", "Beijing"),
    KnownMGRSTile("T51RUQ", "mega-city", "CN", "Shanghai"),
    KnownMGRSTile("T49QHE", "mega-city", "CN", "Shenzhen & Hongkong"),
    KnownMGRSTile("T18SUJ", "mega-city", "US", "Washington DC"),
    KnownMGRSTile("T18TWL", "mega-city", "US", "New York City"),
    KnownMGRSTile("T10SEG", "mega-city", "US", "San Francisco"),
    # calibration sites
    KnownMGRSTile(
        "T49TCF",
        "calibration-site",
        "CN",
        "Baotou Comprehensive Calibration and Validation Site",
    ),
    KnownMGRSTile("T14TPP", "calibration-site", "US", "USGS Sioux Falls Range"),
    # for commonly used zones in CN + xinjiang + tibet
    KnownMGRSTile(
        "T51TXN", "northeastern-china", "CN", "Heilongjiang; Fuyu; Farmland, Wetland"
    ),
    KnownMGRSTile(
        "T50SMJ",
        "northern-china",
        "CN",
        "Hebei; Xiongan; Farmland, City, Lake, Wetland",
    ),
    KnownMGRSTile(
        "T50SPD",
        "eastern-china",
        "CN",
        "Shandong; Linshu; Farmland, City, Lake, River, Ocean",
    ),
    KnownMGRSTile(
        "T49SFU",
        "central-china",
        "CN",
        "Henan; Luoyang; City, Farmland, Lake, River, Mountain",
    ),
    KnownMGRSTile(
        "T49QDD",
        "southern-china",
        "CN",
        "Guangdong; Zhanjiang; City, Forest, Farmland, Ocean",
    ),
    KnownMGRSTile(
        "T48RVV",
        "southwestern-china",
        "CN",
        "Sichuan; Guanghan; Farmland, City, Forest, River",
    ),
    KnownMGRSTile(
        "T48SXH",
        "northwestern-china",
        "CN",
        "Ningxia; Yinchuan; Desert, City, Farmland",
    ),
    KnownMGRSTile(
        "T45TWJ",
        "xinjiang-china",
        "CN",
        "Xinjiang; Urumqi; Desert, Mountain, Farmland, City, Lake",
    ),
    KnownMGRSTile(
        "T45RXN",
        "tibet-china",
        "CN",
        "Tibet; Shigatse; Mountain, River, City, Farmland, Solar-panel",
    ),
    # for commonly used zones in US
    # Standard Federal Regions", https://en.wikipedia.org/wiki/List_of_regions_of_the_United_States
    KnownMGRSTile(
        "T19TCJ",
        "1-new-england",
        "US",
        "Maine; Portland; Forest, Farmland, City, Lake, Wetland, Ocean",
    ),
    KnownMGRSTile(
        "T18TVN",
        "2-mid-atlantic",
        "US",
        "New York; Syracuse; Farmland, Forest, Hills, Lake",
    ),
    KnownMGRSTile(
        "T17SPC",
        "3-north-east",
        "US",
        "Virginia; Harrisonburg; Appalachia; Farmland, Forest, City",
    ),
    KnownMGRSTile(
        "T16SED",
        "4-south-east",
        "US",
        "Alabama; Huntsville; Farmland, Forest, City, River",
    ),
    KnownMGRSTile(
        "T17TKG",
        "5-great-lakes",
        "US",
        "Michigan; Ohio; Ann Arbor; Toledo; Plains, Lake, Farmland, City",
    ),
    KnownMGRSTile(
        "T13SGV",
        "6-south-west",
        "US",
        "Texas; Dalhart; Desert, Farmland, Ranch, Oil Rig",
    ),
    KnownMGRSTile(
        "T15TXG", "7-mid-west", "US", "Iowa; Iowa City; Plains, Farmland, City"
    ),
    KnownMGRSTile(
        "T13SED",
        "8-rocky-mountains",
        "US",
        "Colorado; Denver; Desert, Mountain, Forest, Farmland, City",
    ),
    KnownMGRSTile(
        "T11SKA",
        "9-pacific-southwest",
        "US",
        "California; Fresno; Central Valley, Farmland, Vineyard, City",
    ),
    KnownMGRSTile(
        "T10TDP",
        "10-pacific-northwest",
        "US",
        "Oregon; Eugene; Coastal, Forestry, Farmland, City",
    ),
]
